Voice-over-IP protocol is a digital communication protocol that is built on top of the Internet Protocol (IP) and allows users to exchange voice and other media information (e.g., images/video) by way of voice-over-IP communication devices, such as, but not limited to, telephone devices. A reduced complexity example of a voice-over-IP network is diagrammatically illustrated in FIG. 1 as comprising respective voice-over-IP communication devices 10 and 20, that connect to and exchange messages with a voice-over-IP server 30 during a communication session (commonly referred to as a call), by way of a communication (IP) network 40, such as but not limited to a local area network (LAN), private wide area network (WAN), or the public Internet. Each of the voice-over-IP communication devices presents an associated user 15 and 25 with an interface that is operative to capture the media to be transmitted to the other device, and an interface that is operative to reproduce the media that is received from the other device.
The role of the server 30 is to coordinate the interaction of multiple voice-over-IP devices, such as devices 10 and 20. In a typical network, a respective voice-over-IP device must be able to establish a communication with its server in order to conduct a communication session with another voice-over-IP device since, without a connection to a server, the voice-over-IP device is not capable of making a call. As diagrammatically illustrated in FIG. 2, in order to provide redundancy, a voice-over-IP device 100 may be configured to be connected to any of a plurality of servers 110-1, 110-2, . . . , 110-n, by way of associated network paths, shown as networks 120-1, 120-2, . . . , 120-n. In such a redundancy-based, server-connectivity scheme, in the event of the failure of a single server, such as server 110-1, the device is operative to transition to an alternate or back-up server, such as server 110-2.
A fundamental shortcoming of conventional voice-over-IP communication schemes is the inability of a respective voice-over-IP device to detect whether, prior to placement of a call, it has sufficient connectivity with its available server(s) to determine whether it can actually place a call therethrough. In conventional schemes, it is not until an attempted call has failed that the user is alerted to the fact that the necessary network connectivity with a server is not available. This inability of the voice-over-IP device to transition to a back-up/redundant server until this failure condition is detected increases the amount of time that the user may be required to wait before a call placement can be completed.
In addition to having to address a user's frustration with call placement failure, the provider of voice-over-IP service is also interested in monitoring the quality of each connection. As noted above, a typical voice-over IP device is not able to detect a failure until a call is attempted; yet, the service provider is interested in constantly monitoring the state of the connection with the server, without having to rely upon the user's attempted calls. Detecting the integrity of the IP link between the voice-over-IP device and the outside world is simply not sufficient, as there may exist a multitude of other problems that may prevent the voice-over-IP device from actually communicating with its server, irrespective of the state of the device's local connection and its base IP connectivity to the network.